// [[ OnflowGenerator File UUID: 573ad28c0ba141048a3c1951eb5ad208  ]]
package com.itdct.onflow.system.monitor.vo

import com.itdct.onflow.core.annotation.Dict
import com.itdct.onflow.core.vo.BaseListVo
import io.swagger.v3.oas.annotations.media.Schema
import java.math.BigDecimal
import java.util.*

/**
 * @author DCTANT
 * @date 2025-10-13 10:48:15
 * @version 1.0
 * @description 服务器信息列表返回值
 */
@Schema(name = "服务器信息列表返回值", description = "服务器信息列表返回值")
class SysMachineInfoListVo : BaseListVo() {
    // [[ OnflowGenerator Range (- fields -) Start ]]
    @Schema(title = "服务器id", example = "")
    var machineId: String? = null

    @Schema(title = "服务器ip地址", example = "")
    var ipAddress: String? = null

    @Schema(title = "服务器mac地址", example = "")
    var macAddress: String? = null

    @Schema(title = "上次上报时间", example = "")
    var lastReportDate: Date? = null

    @Schema(title = "在线状态", example = "")
    @Dict(code = "sysMachineOnlineState", field = "onlineStateName")
    var onlineState: String? = null

    @Schema(title = "在线状态字典映射值", example = "")
    var onlineStateName: String? = null

    @Schema(title = "操作系统名称", example = "")
    var osName: String? = null

    @Schema(title = "服务器名称", example = "")
    var serverName: String? = null

    @Schema(title = "序列号", example = "")
    var sn: String? = null

    @Schema(title = "CPU名称", example = "")
    var cpuName: String? = null

    @Schema(title = "CPU频率", example = "")
    var cpuFrequency: String? = null

    @Schema(title = "CPU物理核心数", example = "")
    var physicalProcessorCount: Int? = null

    @Schema(title = "CPU逻辑核心数", example = "")
    var logicalProcessorCount: Int? = null

    @Schema(title = "物理内存", example = "")
    var physicalMemory: Int? = null

    @Schema(title = "虚拟内存", example = "")
    var virtualMemory: Int? = null

    @Schema(title = "总存储", example = "")
    var totalStorage: BigDecimal? = null

    @Schema(title = "创建时间", example = "")
    var createTime: Date? = null

    @Schema(title = "更新时间", example = "")
    var updateTime: Date? = null

// [[ OnflowGenerator Range (- fields -) End ]]
}